Some of the software programs used in a data center or other large-scale Information and Communication Technology (ICT) system are controlled by their respective licenses purchased from software venders. Such software can run on as many servers as granted by its license. For example, a license may specify the number of central processing unit (CPU) cores allowed to run the licensed software. The system may include a management server for the purpose of license management. When an application server in the system needs to run a particular software program, the management server collects information about the number of CPU cores using a network discovery technique and tests whether the license conditions for the program are satisfied. The application server can execute the program only when the license qualifies it to do so.
For successful discovery of CPU core counts, it is important to analyze the network structure of the server system. Recent ICT systems, however, use the virtualization technology in various areas, thus raising the need for discovery solutions that can work in virtual environments. For example, a technique is proposed for identifying the topology of a network in which virtual local area networks (VLAN) are constructed. Another proposed technique is to produce a network topology that indicates physical machines and virtual machines in a distinguishable manner. See, for example, the following documents: Japanese Laid-open Patent Publication No. 2005-328318; and Japanese Laid-open Patent Publication No. 2014-45437.